/**
 * 统一的功能到角色映射。
 * 定义了哪些角色可以访问哪些功能/菜单/路由。
 * 这是权限控制的单一事实来源 (Single Source of Truth)。
 * 角色定义来源于后端: Role.java
 */

// 从后端 Role 枚举同步的角色常量，避免在代码中使用magic字符串
export const ROLES = {
    ADMIN: 'ADMIN',
    RESEARCHER: 'RESEARCHER',
    ADVISOR: 'ADVISOR',
    TRADER: 'TRADER',
};

export const allRoles = [
    ROLES.ADMIN,
    ROLES.RESEARCHER,
    ROLES.ADVISOR,
    ROLES.TRADER,
];

export const featureRoles = {
    // --- 导航菜单可见性 ---
    NAV_FUND_RESEARCH: allRoles,
    NAV_FACTOR_MANAGEMENT: allRoles,
    NAV_STRATEGY_MANAGEMENT: allRoles,
    NAV_COMBINATION_MANAGEMENT: allRoles,
    NAV_TRADE_MANAGEMENT: allRoles,
    NAV_USER_MANAGEMENT: allRoles,
};